package com.hsjk.szwj.module.smedia.controller.admin.production.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import javax.validation.constraints.NotNull;

/**
 * @desc
 * @Date 2023/07/06 09:42
 **/
@Data
public class CreateEditingProjectReqVO {
    @Schema(description = "云剪辑工程标题", requiredMode = Schema.RequiredMode.REQUIRED, example = "example")
    @NotNull(message = "云剪辑工程标题不能为空")
    private String title;

    @Schema(description = "云剪辑工程描述", example = "描述")
    private String description;

    @Schema(description = "云剪辑工程时间线，Json格式", example = "{\"VideoTracks\":[{\"VideoTrackClips\":[{\"MediaId\":\"****4d7cf14dc7b83b0e801c****\"}," +
            "{\"MediaId\":\"****4d7cf14dc7b83b0e801c****\"}]}]}")
    private String timeline;

    @Schema(description = "云剪辑工程封面。如果为空且时间线上的video轨已经存在素材，则默认选取时间线上第一个素材封面",
            example = "https://example.com/example.png")
    private String coverUrl;

    @Schema(description = "模板Id，用于快速低门槛的构建时间线。注：ProjectId、Timeline、TemplateId有且只有一个非空。当TemplateId不为空时，ClipsParam不能为空",
            example = "96e8864746a0b6f3")
    private String templateId;

    @Schema(description = "模板对应的素材参数，Json格式，当TemplateId不为空时，ClipsParam不能为空",
            example = "")
    private String clipsParam;

    @Schema(description = "模板类型，创建基于模板的云剪辑工程需要填写，默认值：Timeline",
            example = "Timeline;VETemplate")
    private String templateType;

    @Schema(description = "工程关联素材，多个素材以逗号（,）分隔；每种类型最多支持10个素材ID",
            example = "")
    private String materialMaps;

    @Schema(description = "工程业务配置",
            example = "")
    private String businessConfig;

    @Schema(description = "剪辑工程类型，EditingProject: 普通剪辑工程；LiveEditingProject: 直播剪辑工程",
            example = "")
    private String projectType;
}
